﻿namespace Sidvall.AuthorizationManager.Data.Model
{
    public sealed partial class GenericEntityFacade : global::Sidvall.AuthorizationManager.Data.Model.EntityFacadeBase
    {
        #region Public Members

        #region AuthorizationScopeManager

        private global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScope, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScope>> _AuthorizationScopeManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScope, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScope>> AuthorizationScopeManager
        {
            get
            {
                return _AuthorizationScopeManager;
            }
            private set
            {
                _AuthorizationScopeManager = value;
            }
        }

        #endregion
        #region AuthorizationScopeExportManager

        private global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeExportManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeExport, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeExport>> _AuthorizationScopeExportManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeExportManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeExport, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeExport>> AuthorizationScopeExportManager
        {
            get
            {
                return _AuthorizationScopeExportManager;
            }
            private set
            {
                _AuthorizationScopeExportManager = value;
            }
        }

        #endregion
        #region AuthorizationScopeResourceActionManager

        private global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeResourceActionManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceAction, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceAction>> _AuthorizationScopeResourceActionManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeResourceActionManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceAction, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceAction>> AuthorizationScopeResourceActionManager
        {
            get
            {
                return _AuthorizationScopeResourceActionManager;
            }
            private set
            {
                _AuthorizationScopeResourceActionManager = value;
            }
        }

        #endregion
        #region AuthorizationScopeResourceActionClaimManager

        private global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeResourceActionClaimManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceActionClaim, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceActionClaim>> _AuthorizationScopeResourceActionClaimManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeResourceActionClaimManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceActionClaim, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceActionClaim>> AuthorizationScopeResourceActionClaimManager
        {
            get
            {
                return _AuthorizationScopeResourceActionClaimManager;
            }
            private set
            {
                _AuthorizationScopeResourceActionClaimManager = value;
            }
        }

        #endregion
        #region AuthorizationScopeResourceItemManager

        private global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeResourceItemManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceItem, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceItem>> _AuthorizationScopeResourceItemManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeResourceItemManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceItem, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceItem>> AuthorizationScopeResourceItemManager
        {
            get
            {
                return _AuthorizationScopeResourceItemManager;
            }
            private set
            {
                _AuthorizationScopeResourceItemManager = value;
            }
        }

        #endregion
        #region AuthorizationScopeResourceItemClaimManager

        private global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeResourceItemClaimManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceItemClaim, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceItemClaim>> _AuthorizationScopeResourceItemClaimManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeResourceItemClaimManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceItemClaim, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceItemClaim>> AuthorizationScopeResourceItemClaimManager
        {
            get
            {
                return _AuthorizationScopeResourceItemClaimManager;
            }
            private set
            {
                _AuthorizationScopeResourceItemClaimManager = value;
            }
        }

        #endregion
        #region AuthorizationScopeUserManager

        private global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeUserManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeUser, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeUser>> _AuthorizationScopeUserManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeUserManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeUser, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeUser>> AuthorizationScopeUserManager
        {
            get
            {
                return _AuthorizationScopeUserManager;
            }
            private set
            {
                _AuthorizationScopeUserManager = value;
            }
        }

        #endregion
        
        #endregion
        #region Helper Members

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
        private void Init()
        {
            this.AuthorizationScopeManager = new global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScope, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScope>>(this);
            this.AuthorizationScopeExportManager = new global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeExportManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeExport, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeExport>>(this);
            this.AuthorizationScopeResourceActionManager = new global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeResourceActionManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceAction, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceAction>>(this);
            this.AuthorizationScopeResourceActionClaimManager = new global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeResourceActionClaimManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceActionClaim, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceActionClaim>>(this);
            this.AuthorizationScopeResourceItemManager = new global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeResourceItemManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceItem, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceItem>>(this);
            this.AuthorizationScopeResourceItemClaimManager = new global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeResourceItemClaimManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceItemClaim, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceItemClaim>>(this);
            this.AuthorizationScopeUserManager = new global::Sidvall.AuthorizationManager.Data.Model.EntityManagers.AuthorizationScopeUserManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeUser, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeUser>>(this);
        }

        #endregion
        #region Constructors

        public GenericEntityFacade(global::Sidvall.Data.IResourceFactory resourceFactory)
            : base(resourceFactory)
        {
            Init();
        }
        public GenericEntityFacade(global::Sidvall.AuthorizationManager.Data.Model.IEntityFacadeManager entityFacadeManager)
            : base(entityFacadeManager)
        {
            Init();
        }

        #endregion
    }
}